/**
* 这里就可以单独写bak组件的状态了
* mutations 中的方法是不分组件的 , 假如你在 dialog_stroe.js 文件中的定义了
* switch_dialog 方法 , 在其他文件中的一个 switch_dialog 方法 , 那么
* $store.commit('switch_dialog') 会执行所有的 switch_dialog 方法。
* mutations里的操作必须是同步的。
* 通过 store.state 来获取状态对象，以及通过 store.commit 方法触发状态变更：
* getter 方法是获取数据  不会对原数据造成影响的函数
* actions 异步操作  action只管中间处理，处理完我就给你，你怎么存我不管；
* mutations 存储数据  同步操作 只管存，你给我（dispatch）我就存
* 我们将之前我们使用的 $store.state.show 统统改为 $store.state.dialog.show 即可
* // 这是更新路由的方法
    this.$router.push({
        path:'/y',    //这是路由名称
    })
*/
// 引入axios组件
import axios from 'axios';
import qs from 'qs';// 处理数据  qs.stringify(params)

export default {
  // 访问状态对象
  state: {
    productCategory: [], // 存储分类列表的二维数组
    productCategorySelect: [], // 存储下拉列表的分类二维数组
    productbrand: [], // 存储商品品牌列表
    productbrandshow: [], // 存储商品品牌显示列表
    shopcatelist: [], // 供模态框使用，商品分类列表
    productmodel: [], // 存储商品模型列表
    productmodelshow: [], // 存储商品模型显示列表
    modellist: [], // 存储模型列表
    shopspeclist: [], // 存储规格列表
    shopspeclistshow: [], // 存储规格显示列表
    productlist: [], // 存储产品列表
    productlistshow: [], // 存储显示产品列表
  },
  // 访问触发状态（是一个同步的批处理方式）
  mutations: {
    // 存储商品列表
    getProductList(state, info) {
      console.log(info);
      state.productlist = info.shoplist;
      state.productlistshow = info.shoplistshow;
    },
    // 再次请求商品列表
    getProductListAgain(state, page, search) {
      axios({
        method: 'post',
        url: '/admin/product/productList',
        data: { page },
      })
        .then((response) => {
          state.productlist = response.data.shoplist;
          state.productlistshow = response.data.shoplistshow;
        })
        .catch((response) => {
          console.log(response);
        });
    },
    // 存储商品规格列表
    getProductSpec(state, info) {
      console.log(info);
      state.modellist = info.modellist;
      state.shopspeclist = info.shopspeclist;
      state.shopspeclistshow = info.shopspeclistshow;
    },
    // 再次请求商品规格列表
    getProductSpecAgain(state, page) {
      axios({
        method: 'post',
        url: '/admin/product/productSpec',
        data: { page },
      })
        .then((response) => {
          console.log(response);
          state.modellist = response.data.modellist;
          state.shopspeclist = response.data.shopspeclist;
          state.shopspeclistshow = response.data.shopspeclistshow;
        })
        .catch((response) => {
          console.log(response);
        });
    },
    // 存储商品模型列表
    getProductModel(state, info) {
      state.shopcatelist = info.shopcatelist;
      state.productmodel = info.shopmodellist;
      state.productmodelshow = info.shopmodellistshow;
    },
    // 再次请求商品模型列表接口
    getProductModelAgain(state, page, search) {
      // 商品分类列表页
      axios({
        method: 'post',
        url: '/admin/product/productModel',
        data: { page, search },
      })
        .then((response) => {
          console.log(response);
          // 重新赋值的过程
          state.productmodel = response.data.shopmodellist;
          state.productmodelshow = response.data.shopmodellistshow;
          state.shopcatelist = response.data.shopcatelist;
        })
        .catch((response) => {
          console.log(response);
        });
    },
    // 存储商品品牌列表
    getProductBrand(state, info) {
      state.productbrand = info.shopbrandlist;
      state.productbrandshow = info.shopbrandlistshow;
      state.shopcatelist = info.shopcatelist;
    },
    // 再次请求商品品牌列表接口
    getProductBrandAgain(state, page, search) {
      // 商品分类列表页
      axios({
        method: 'post',
        url: '/admin/product/productbrand',
        data: { page, search },
      })
        .then((response) => {
          console.log(response.data.categorylist);
          // 重新赋值的过程
          state.productbrand = response.data.shopbrandlist;
          state.productbrandshow = response.data.shopbrandlistshow;
          state.shopcatelist = response.data.shopcatelist;
        })
        .catch((response) => {
          console.log(response);
        });
    },
    // 存储商品分类列表
    getProductCate(state, info) {
      state.productCategory = info.categorylist;
      state.productCategorySelect = info.categoryonelist;
      console.log(state.productCategory);
      console.log(state.productCategorySelect);
    },
    // 再次请求商品分类列表接口
    getProductCateAgain(state, page) {
      // 商品分类列表页
      axios({
        method: 'post',
        url: '/admin/product/productCategory',
        data: { page },
      })
        .then((response) => {
          console.log(response.data.categorylist);
          // 重新赋值的过程
          state.productCategory = response.data.categorylist;
          state.productCategorySelect = response.data.categoryonelist;
        })
        .catch((response) => {
          console.log(response);
        });
    },
    // 点击放开，点击收起
    changeCatePid(state, getid) {
      const obj = state.productCategory;
      for (const el of obj) {
        if (el.pid == getid) {
          el.isshow = !el.isshow;
        }
      }
    },
    /* // 存储文章列表
        getArticleList(state,info){
            state.articleList = info.articlelist;
            state.articleListshow = info.articlelistshow;
        },
        // 再次请求文章列表
        getArticleListAgain(state){
            // 文章列表
            axios({
                method: "post",
                url: "/admin/article/articleList",
                data: {}
            })
            .then(function (response) {
                console.log(response.data.articlelist);
                console.log(response.data.articlelistshow);
                state.articleList = response.data.articlelist;
                state.articleListshow = response.data.articlelistshow;
            })
            .catch(function (response) {
                console.log(response);
            });
        }// */
  },
  // 是一个异步的批处理方式
  actions: {

  },

};
